

#import "UIImage+FileImage.h"

@implementation UIImage (FileImage)

+ (nullable UIImage *)FileImageWithContentsOfFileName:(NSString *)fileName
{
    //生成图片
    UIImage *image = nil;
    
    
    //在图片名后插入@2x，获取图片,存在则返回图片
    image = [UIImage imageName:fileName addIdentification:@"@2x"];
    if(image) return image;
    
    //在图片名后插入@3x，获取图片,存在则返回图片
    image = [UIImage imageName:fileName addIdentification:@"@3x"];
    if(image) return image;

    //根据原图片名获取图片,存在则返回图片
    image = [UIImage imageName:fileName addIdentification:@""];
    if(image) return image;
    
    
    //若都不存在，返回空值
    return nil;
}

/**
 *  根据图片名及标识获取图片并图片
 *
 *  @param imageName      图片名
 *  @param identification 标识
 *
 *  @return 图片
 */
+ (UIImage *)imageName:(NSString *)imageName addIdentification:(NSString *)identification
{
    //全文件名
    NSString *fullFileName = [imageName stringByAppendingString:identification];
    
    //根据文件名及类型为png格式获取全路径
    NSString *imagePath = [[NSBundle mainBundle]pathForResource:fullFileName ofType:@".png"];
    
    //若不存在，则去找文件名及类型为jpg格式的文件，获取全路径
    if (!imagePath)imagePath = [[NSBundle mainBundle]pathForResource:fullFileName ofType:@".jpg"];
    
    
    //根据全路径获取图片
    return [UIImage imageWithContentsOfFile:imagePath];
}

@end
